The present invention relates to a method and/or architecture for locking a data steam generally and, more particularly, to a method and/or architecture for locking an oscillator to a data stream.
Conventional approaches for locking a data stream use Phase Lock Loops (PLL) and/or Delay Lock Loops (DLL) to lock or match a clock to an incoming data stream.
Such approaches typically require a very long training sequence and/or a continuous stream of data. Either requirement is incompatible with data communication systems like the Universal Serial Bus (USB), where the data packets can be short and bursty. For USB devices in particular, data may be present for only a very small percentage of the time, which could be less than 1%.
Delay Lock Loops and/or Phase Lock Loops can also suffer from the requirement of (i) long training sequences, (ii) requiring continuous input (e.g., cannot handle bursty data), and/or (iii) may need a precision timing component.
The present invention concerns an apparatus comprising a control circuit and a first circuit. The first circuit may be configured to generate a calibration signal in response to an adjustment signal and a first control signal. The control circuit may be configured to generate (i) the first control signal, (ii) a second control signal and (iii) the adjustment signal in response to a rate of an input signal.
The objects, features and advantages of the present invention include providing a method and/or architecture for locking an incoming data stream that may (i) precisely lock to a rate of the incoming data stream without an external precision timing element (e.g., without crystals, resonators, etc.), (ii) allow incoming data traffic to provide precision timing, (iii) provide multiple tuning phases during a single packet, and/or (iv) tune quickly (e.g., within one data packet).